1. Field of the Invention
The invention relates to communication of information and more particularly to multicast operations.
2. Description of the Related Art
In current computing environments, especially networked environments, a source node on the network may wish to supply a plurality of destination nodes with the same information. In such situations, some systems provide a multicast capability in which the source node can send multiple destination nodes the same information at the same time. In such multicast operations, any number of multiple targets can receive the multicast information.
Referring to FIG. 1, a multicast operation is illustrated in which an initiator node I0 simultaneously sends the same information to target nodes T0, T1, and T2. Because the destination or target nodes can receive the multicast information simultaneously, the multicast operation is time efficient.
One difficulty with multicasting simultaneous information is that it may be difficult for the initiator node who sends the information to determine if the target nodes successfully received the information. Thus, the operation is unreliable in the sense that the initiators cannot determine if the transmission was successful. If the receiving nodes send acknowledgements indicating successful receipt of the multicast information, there would be a tendency for the acknowledgements to collide or otherwise contend for resources of the communication medium. That is because the targets would likely send the acknowledgements to the initiator node at the same time. In a switched synchronous network, sending such acknowledgements could result in undesirable collisions and possible loss of acknowledgement information. In other systems, the acknowledgements may be buffered within the switch as collisions occur, or require retry as some targets would be unable to obtain the communication medium to send the acknowledgement. In either of those situations, the advantage of time efficiency is diminished if acknowledgements take a long time relative to the original multicast due to the contention for resources of the communication medium connecting the sending and receiving nodes.
One way to avoid such contentions and/or collisions is to provide the information sequentially as shown in FIG. 2, rather than simultaneously, as shown in FIG. 1. In the sequential operation, the initiator node I0 successively sends the same information at 201, 202 and 203 to the target nodes T0, T1, and T2. The target nodes respond sequentially with acknowledgements at 204, 205 and 206. Because the acknowledgements are sequential, they do not compete with each other for communication medium responses. Thus, the operation is reliable in the sense that the initiator can determine if the transmission was successful. However, the sequential nature of the operation for both the transmission of the information and the transmission of the acknowledgements eliminates an efficiency which could be gained from a true multicast operation in which multicast information is sent simultaneously. Thus, there is a relatively long latency for completion of the entire operation.
For certain time-critical multicast operations, it is important to minimize latency. For example, for time-critical multicast operations such as synchronization of clocks in a network, coherency protocols, and operations in databases/transaction systems such as commit or abort, minimizing latency would be advantageous.
Accordingly, it would be desirable to provide a multicast operation that is both efficient and reliable.